<%@ page import="com.servlet.JeuDeLaBiere.Model.Main , com.servlet.JeuDeLaBiere.Model.Partie , com.servlet.JeuDeLaBiere.Model.ChaineLogistique , com.servlet.JeuDeLaBiere.Model.EntiteLogistique , java.lang.Integer" %>

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style type="text/css">
<%@ include file="../styles/style.css" %>
</style>
<title>Le Jeu de la Bière</title>

	<!--  Ce code javascript ne fonctionne pas en l'état. Il a pour objectif de créer une requête post pour savoir si tous les joueurs ont passé commande pour le tour courant.
	
	<script type="text/javascript">
	var xhr = new XMLHttpRequest();
	var tour = <%//=((Partie) request.getAttribute("maPartie")).getTour()%>;
	
	while(!xhr.responseXML.getElementById('LaModif')){
		<%// initialisation d'une requête POST asynchrone de type formulaire%>
		xhr.open('POST', "miseAJourTourSuivant");
  		xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		<%// envoi de la requete%>
		xhr.send('tour='+tour);
	}
	xhr.onreadystatechange = function() { <%// On gère ici une requête asynchrone%>
	    if (xhr.readyState == 4 && xhr.status == 200) { <%// Si le fichier est chargé sans erreur
			// dans le cas ou tous les joueurs ont joué, on affiche le bouton passer au tour suivant%>
			if(xhr.responseXML.getElementByID('LaModif')){
				passerTourSuivant();
			}
	    } else if(xhr.readyState == 4 && xhr.status != 200) { <%// En cas d'erreur !%>
	        alert('Une erreur est survenue !\n\nCode :' + xhr.status + '\nTexte : ' + xhr.statusText);
	    }
	}
	
      function commande(){
    	  var commande = document.getElementById('nbACommander').value;
    	  var req = new XMLHttpRequest();
    	  req.open('POST',"passageCommande");
    	  req.send('commande='+commande);
    	  document.getElementById("Commander").display="none";
    	  document.getElementById("Attente").display="block";
      }
      
      function passerTourSuivant(){
    	  document.getElementById("Attente").display="none";
    	  document.getElementById("Passer").display="block";
      }
    </script>
     -->
</head>
<body style="background-image: url('/JeuDeLaBiere/img/img4.jpg');">	
		<div id="bloc">		
			<form name="gamePage" action="commander.do" method="post">
			<%
			//Récupération des entités
			Partie maPartie = (Partie)request.getAttribute("maPartie");
			String nomJoueur = (String)request.getAttribute("nomJoueur");
			
			ChaineLogistique maChaineLog = maPartie.getChaineLog();
			EntiteLogistique monEntite = maChaineLog.getEntiteLog(nomJoueur);
			int rangJoueur = maChaineLog.rangJoueur(nomJoueur);
			
			int tour = maPartie.getTour();
			
			//Récupération des informations liées au joueur ce tour ci
			int commandeRecuAv = monEntite.getCommandeRe(maPartie.getTour()-1);
			int livraisonEnvRetAv = monEntite.getLivraisonEnRetardEnv(maPartie.getTour()-1);
			int stockAv = monEntite.getStock(maPartie.getTour()-1);
			int livraisonRecuAv = monEntite.getLivraisonRe(maPartie.getTour()-1);
			int livraisonEnvAv = monEntite.getLivraisonEnv(maPartie.getTour()-1);
			int stockAvExp = stockAv+livraisonRecuAv;

			int commandeRecuAp = monEntite.getCommandeRe(maPartie.getTour());
			int livraisonEnvRetAp = monEntite.getLivraisonEnRetardEnv(maPartie.getTour());
			int stockAp = monEntite.getStock(maPartie.getTour());
			int livraisonRecuAp = monEntite.getLivraisonRe(maPartie.getTour());
			int livraisonEnvAp = monEntite.getLivraisonEnv(maPartie.getTour());
			
			int livraisonRetard;
			
			if(maPartie.getTour()<2 || rangJoueur==maPartie.getNbJoueur()-1){
				livraisonRetard = 0;
			}else{
				livraisonRetard = maChaineLog.getEntiteLog(rangJoueur+1).getLivraisonEnRetardEnv(maPartie.getTour()-2);
			}
			
			%>
			<% //Le code HTML de la page %>
			<h1>Le Jeu de la Bière<br/><%= request.getAttribute("nomJoueur") %> - Dépôt n°<%out.println((rangJoueur+1)); %> - Tour n°<% out.println(""+tour); %></h1>

			<p>Commande reçue : <% out.println(""+commandeRecuAv); %></p>
			<p>Nombre d'unités en retard d'expédition : <% out.println(""+livraisonEnvRetAv); %></p>
			<p>Nombre d'unités en stock au tour précédent : <% out.println(""+stockAv); %></p>
			<p>Nombre d'unités reçues ce tour-ci : <% out.println(""+livraisonRecuAv); %></p>
			<p>Nombre d'unités en retard de livraison : <% out.println(""+livraisonRetard); %></p>
			<p>Nombre d'unités en stock avant avant expédition : <% out.println(""+stockAvExp); %></p>
			<p>Nombre d'unités envoyées au client : <% out.println(""+livraisonEnvAp); %></p>
			<p>Nombre d'unités en stock avant après expédition : <% out.println(""+stockAp); %></p>
			<p>Nombre d'unités en retard à envoyer : <% out.println(""+livraisonEnvRetAp); %></p>

			<%
				out.println("<input type='hidden' name='nomPartie' value='"+request.getAttribute("nomPartie")+"'/>");
				out.println("<input type='hidden' name='nomJoueur' value='"+request.getAttribute("nomJoueur")+"'/>");
			%>

			<p>Nombre d'unités à commander :<input type="number" min="0" name="nbACommander" value="0"/></p>
			<p style="width:50%;margin:auto;">
				<input type="submit" id="Commander" name="Commander" value="Commander"/>
				<!--<input type="button" id="Attente" name="Attente" value="En attente des autres joueurs"/>-->
			</p>
		</form>
		<form name="gamePage" action="gamepage.do" method="post">
			<%
				out.println("<input type='hidden' name='nomPartie' value='"+request.getAttribute("nomPartie")+"'/>");
				out.println("<input type='hidden' name='nomJoueur' value='"+request.getAttribute("nomJoueur")+"'/>");
			%>
			<input type="submit" id="Passer" name="Passer" value="Passer au tour suivant"/>
		</form>
	</div>
</body>
</html>